ভেরিয়েবল এবং Constants: def, let এর ব্যবহার

Computer Programming - ক্লোজার (Clojure) ডেটা টাইপস এবং ভেরিয়েবল (Data Types and Variables in Clojure) |
216
216

ভেরিয়েবল এবং কনস্ট্যান্টস: def এবং let এর ব্যবহার

ক্লোজার (Clojure) একটি ফাংশনাল প্রোগ্রামিং ভাষা এবং এর ডেটা ইমিউটেবল হওয়ায় এতে ভেরিয়েবল এবং কনস্ট্যান্টস ব্যবহারের জন্য নির্দিষ্ট নিয়ম রয়েছে। ক্লোজারে def এবং let মূলত ভিন্ন ভিন্ন উদ্দেশ্যে ব্যবহৃত হয়, এবং এগুলোর ব্যবহারের মাধ্যমে প্রোগ্রামিং সহজ ও কার্যকর হয়।


def কী এবং কিভাবে ব্যবহার করা হয়

ক্লোজারে def মূলত একটি ভেরিয়েবল বা কনস্ট্যান্ট তৈরি করতে ব্যবহার করা হয় যা গ্লোবাল (global) স্কোপে থাকে। অর্থাৎ, একবার def ব্যবহার করে কোনো মান নির্ধারণ করলে এটি পুরো প্রোগ্রামে ব্যবহারযোগ্য থাকে।

def এর ব্যবহার

def ব্যবহার করে আমরা ক্লোজারে একটি নাম সংজ্ঞায়িত করতে পারি যা একটি মান ধরে রাখে। এটি সাধারণত কনস্ট্যান্ট বা স্থায়ী ডেটার জন্য ব্যবহৃত হয়।

(def my-value 10)

এখানে my-value নামে একটি গ্লোবাল ভেরিয়েবল তৈরি করা হয়েছে যার মান 10। এটি প্রোগ্রামের যেকোনো স্থানে ব্যবহার করা যাবে।

উদাহরণ - def দিয়ে কনস্ট্যান্ট সংজ্ঞায়ন

(def pi 3.14159)
(println "Pi এর মান:" pi)

এখানে pi একটি কনস্ট্যান্ট, যা সারা প্রোগ্রামে অপরিবর্তনীয় মান হিসাবে ব্যবহার করা হবে।


let কী এবং কিভাবে ব্যবহার করা হয়

let মূলত স্থানীয় (local) ভেরিয়েবল সংজ্ঞায়ন করতে ব্যবহৃত হয়। এটি শুধুমাত্র নির্দিষ্ট একটি ব্লকের মধ্যে প্রযোজ্য হয় এবং ব্লক শেষ হলে এই ভেরিয়েবলটি বিলুপ্ত হয়ে যায়।

let এর ব্যবহার

let ব্যবহার করে স্থানীয় স্কোপে ভেরিয়েবল তৈরি করা যায় যা শুধুমাত্র let ব্লকের মধ্যে উপলব্ধ থাকে। এটি ফাংশনের ভেতরে সাময়িক মান সংরক্ষণ করার জন্য উপযোগী।

(let [x 5
      y 10]
  (+ x y))

এখানে, x এবং y নামে দুটি স্থানীয় ভেরিয়েবল তৈরি করা হয়েছে যেগুলোর মান ৫ এবং ১০। এই ভেরিয়েবলগুলো শুধুমাত্র let ব্লকের মধ্যে ব্যবহার করা যাবে। ফলাফল হিসেবে এটি ১৫ প্রদান করবে।

উদাহরণ - let দিয়ে স্থানীয় ভেরিয়েবল

(defn calculate-area [radius]
  (let [pi 3.14159
        area (* pi radius radius)]
    area))

এই ফাংশনে pi এবং area নামক দুটি স্থানীয় ভেরিয়েবল let ব্লকের মধ্যে সংজ্ঞায়িত করা হয়েছে, যা শুধুমাত্র এই ব্লকের মধ্যে প্রযোজ্য। calculate-area ফাংশনটি radius এর ওপর ভিত্তি করে একটি এলাকার হিসাব প্রদান করবে।


def এবং let এর মধ্যে পার্থক্য

বৈশিষ্ট্যdeflet
স্কোপগ্লোবাল স্কোপ (পুরো প্রোগ্রাম জুড়ে)স্থানীয় স্কোপ (নির্দিষ্ট ব্লকের মধ্যে)
ব্যবহারকনস্ট্যান্ট বা গ্লোবাল ভেরিয়েবল সংজ্ঞায়িত করতেস্থানীয় ভেরিয়েবল সংজ্ঞায়িত করতে
উদ্দেশ্যস্থায়ী বা পুরো প্রোগ্রামে অপরিবর্তনীয় ডেটার জন্যসাময়িক এবং নির্দিষ্ট একটি ব্লকে ব্যবহারের জন্য
উদাহরণ(def x 10)(let [x 10] ...)

কখন def এবং let ব্যবহার করবেন?

  • def: যখন আপনাকে একটি মান পুরো প্রোগ্রামে ব্যবহার করতে হবে এবং এটি পরিবর্তন করার প্রয়োজন নেই, যেমন কনস্ট্যান্ট বা গ্লোবাল মান। উদাহরণস্বরূপ, কোনো ফাংশনের বাইরে একটি মান সংজ্ঞায়িত করতে def ব্যবহার করুন।
  • let: যখন আপনাকে একটি মান সাময়িকভাবে ব্যবহার করতে হবে এবং শুধুমাত্র একটি নির্দিষ্ট ব্লকের জন্য প্রযোজ্য রাখতে হবে। এটি সাধারণত ফাংশনের ভেতরে ব্যবহৃত হয় যেখানে একাধিক মানকে সাময়িকভাবে রাখতে হবে।

সারসংক্ষেপ

ক্লোজারে def এবং let এর মাধ্যমে ভেরিয়েবল এবং কনস্ট্যান্ট সংজ্ঞায়ন করা হয়, যেখানে def গ্লোবাল স্কোপে এবং let স্থানীয় স্কোপে ব্যবহৃত হয়। def সাধারণত স্থায়ী মান সংরক্ষণে ব্যবহৃত হয়, এবং let সাময়িক মান বা নির্দিষ্ট ব্লকের মধ্যে ব্যবহারযোগ্য ডেটা রাখার জন্য কার্যকর।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion